package com.server.questionbank.snframe.mapper.Course.Resource;

import com.server.questionbank.snframe.domain.Course.Resource.CourseFiles;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface CourseFilesMapper {
    @Insert("INSERT INTO course_files " +
            "(file_name, file_size, file_path, resource_id) " +
            "VALUES (#{file.fileName}, #{file.fileSize}, #{file.filePath}, #{file.resourceId})")
    @Options(useGeneratedKeys = true, keyProperty = "fileId") // 指定返回生成的主键，并将其设置到 CourseFiles 对象的 fileId 属性
    public int insertFile(@Param("file") CourseFiles file);

    @Update("UPDATE course_files SET file_path = #{filePath} WHERE file_id = #{fileId}")
    public int updateFilePath(@Param("filePath") String filePath, @Param("fileId") Long fileId);

    // 获取文件信息
    @Select("SELECT * FROM course_files WHERE file_id = #{fileId};")
    public CourseFiles getFileInfo(@Param("fileId") Long fileId);

    // 通过资源ID获取文件列表
    @Select("SELECT * FROM course_files WHERE resource_id = #{resourceId};")
    public List<CourseFiles> getFileListByResourceId(@Param("resourceId") Long resourceId);
}
